"""
找到给定字符串中的不同字符
挑战介绍
在不考虑字符排列的条件下，对于相差只有一个字符的两个字符串，实现一个算法来识别相差的那个字符。要求如下：

当传入的字符串为 'aad' 和 'ad' 时，结果为 'a'。
当传入的字符串为 'aaabccdd' 和 'abdcacade' 时，结果为 'e'。
挑战内容
本次挑战中，你需要在 diff.py 文件中补充函数 find_diff 的空缺部分。

find_diff 函数接受两个参数，str1，str2 用于指定传入的相差只有一个字符的两个字符串;
find_diff 函数输出只有一个字符的字符串。
你需要补充 find_diff 函数，使 find_diff 函数可以识别传入的 str1，str2 之间相差的那个字符。要求如下：

对于传入的两个字符串，返回它们之间相差的那个字符;
如果传入的字符串有 None ，需要使用 raise 语句显示 TypeError。
"""


class Solution(object):

    def find_diff(self, str1, str2):
        if str1 is None or str2 is None:
            raise TypeError('str1 or str2 cannot be None')
        result = 0
        for char in str1:
            result ^= ord(char)
        for char in str2:
            result ^= ord(char)
        return chr(result)
